<!DOCTYPE html> 
<!--
 Copyright (c) 2017-2019 fortiss GmbH
               2019 Johannes Kepler University Linz
  
 This program and the accompanying materials are made available under the
 terms of the Eclipse Public License 2.0 which is available at
 http://www.eclipse.org/legal/epl-2.0.

 SPDX-License-Identifier: EPL-2.0
 
 Contributors:
   Jose Cabral
     - initial API and implementation and/or initial documentation
   Bianca Wiesmayr
     - text corrections
-->

<html lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>START HERE</title>
	<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body>

<h1 id="topOfPage">Where to start</h1>

<p>This page is intended to work as an overall index of the documentation about Eclipse 4diac. 
Whenever you have doubts about anything, come here and you might find the right page to visit. 
Depending on your background's area (automation, mechanics, informatics, or just curiosity), you will need different information to understand what Eclipse 4diac is and its strengths. 
But since this might be the first page you arrived to, there's a quick <a href="#quickIntro">intro</a> below the link list.</p>

<p>Here's a list of the main topics in the documentation:</p>

<ul id="startHereMainList">

<li><a href="../../html/before4DIAC/iec61499.html">Learn about IEC 61499</a>: 
To use Eclipse 4diac, you need to understand the terms of the IEC 61499 standard and how the Function Blocks work.
At first, take therefore a look at this explanation about the standards and technology related to Eclipse 4diac.</li>

<li><a href="../../html/before4DIAC/4diacFramework.html">Understand the 4diac framework</a>: 
If you know about IEC 61499 and what PLCs are, but you don't understand what 4diac IDE is, or what's the relation with 4diac FORTE, then you should take a look at this topic about the 4diac IDE framework.</li>

<li><a href="../../html/installation/install.html">Install Eclipse 4diac</a>: 
If you understand all of the above, and you want to start using Eclipse 4diac, you will need to first install it.</li>

<li><a href="../../html/4diacIDE/overview.html">Step by step tutorial</a>: 
To understand the basics of 4diac IDE, it is best to start using it.</li>

<li><a href="../../html/examples/examplesIndex.html">4diac IDE examples</a>: 
If you want to see some examples using 4diac IDE, this link is your friend.</li>

<li><a href="../../html/parameters/parameters.html">Parameters for different platforms</a>: 
If you have a specific platform with input and outputs that is supported by 4diac FORTE, for example a Raspberry Pi or a PLC, and you want to use them, use this topic.</li>

<li><a href="../../html/communication/communicationIndex.html">Communication Protocols</a>: 
If you want to use a specific communication protocol supported by 4diac FORTE, for example MQTT, OPC UA, Modbus and so on, follow the link.</li>

<li><a href="../../html/development/developmentIndex.html">Development of 4diac FORTE and 4diac IDE</a>: 
If you are a developer or you want to know more deep stuff about 4diac FORTE or 4diac IDE, you'll have fun here.</li>

<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=16469727&product=4DIAC&query_format=advanced" target="_blank">File a bug for 4diac FORTE or 4diac IDE</a>: 
You found a bug? 
File it here.</li>

<li><a href="../../html/faq/faq.html">FAQ</a>: If you have troubles with something, visit the FAQ page.</li>

<li><a href="https://www.eclipse.org/forums/index.php?t=thread&frm_id=308" target="_blank">4diac Forum</a>: 
And if you still have a question or something you want to share, don't forget to participate in the forum.</li>

</ul>

<h1 id="quickIntro">Quick Intro</h1>

<p>4diac IDE is an open source IDE intended for distributed industrial systems. 
It is also applicable in other areas such as home automation, electrical networks, or wherever you think some automated system is needed. 
You can "program" an application using Function Blocks and your program will look like the one in image below.</p>

<img src="../../html/before4DIAC/img/genericApplication.png" alt="A generic application in IEC61499"/>

<p>The same application can run on different devices such as a Raspberry Pi, a PLC or your computer, since the application is independent of the device on which it's running.</p>

<p>Note that you can run this application not only in one device, but you can distribute it to many devices, as shown in the picture below.</p>

<img src="../../html/before4DIAC/img/iec61499Disitribution.png" alt="Distributing an application"/>

<p>Quick reference: each Function Block (FB) is like a normal function that is executed when an event (red incoming line on the left of the FB) arrives. 
The incoming blue lines are the data inputs (parameters to the function) and the outgoing blue lines are the parameters sent to other FBs 
(similar to return values, yet they don't always "return" but go forward).</p>

<p>This application might not be intended for only one device, but for a whole system with many devices.
In that case, some FBs will need to run on one device, and some on others - a distributed system is created. 
With 4diac IDE you can design your distributed application and deploy it.</p>

<p class="goToTop"><a href="#topOfPage">Go to top</a></p>

</body>
</html>